package cn.foxtech.cloud.repo.comp.model.entity;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Getter(value = AccessLevel.PUBLIC)
@Setter(value = AccessLevel.PUBLIC)
public class RepoCompModelObjectEntity {
    /**
     * 手动生成的UUID
     */
    private String objectId;
    /**
     * 创建时间
     */
    private Long createTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 操作命令
     */
    private String modelName;
    /**
     * 引擎参数：真正的操作内容
     */
    private Map<String, Object> modelParam;
    /**
     * 扩展参数
     */
    private Map<String, Object> extendParam;

    /**
     * 除了operateId/createTime/updateTime之外的其他字段
     *
     * @return list
     */
    public List<Object> makeServiceValue() {
        List<Object> values = new ArrayList<>();

        values.add(this.modelName);
        values.add(this.modelParam);
        values.add(this.extendParam);

        return values;
    }
}
